<?php 
include_once 'transformavel_json.php';

class Bean extends transformavel_json {
	
	public function setar_atributos_array($array, $atributos_ignorar = array()) {
		foreach ($array as $atributo => $valor) {
			if (!in_array($atributo, $atributos_ignorar)) {
				$this->$atributo = $valor;
			}
		}
	}
	
	public function adicionar_em_colecao($nome_colecao, $novo_elemento) {
		$this->{$nome_colecao}[] = $novo_elemento;
	}
	
	public function adicionar_array_em_colecao($nome_colecao, $array) {
		foreach ($array as $elemento) {
			$this->adicionar_em_colecao($nome_colecao, $elemento);
		}
	}
	
	public function remover_de_colecao($nome_colecao, $elemento_a_remover) {
		foreach ($this->{$nome_colecao} as $indice => $elemento) {
			if (isset($elemento->id) && isset($elemento_a_remover->id)) {
				if ($elemento->id == $elemento_a_remover->id) {
					unset($this->{$nome_colecao}[$indice]);
				}
			}
			elseif ($elemento == $elemento_a_remover) {
				unset($this->{$nome_colecao}[$indice]);
			} 
		}
	}
}

?>